package com.gopay.common.domain.cbrmb;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

import com.gopay.common.domain.BaseEntity;

/**
 * 
 * @ClassName: CbRemitMoneyRecords
 * @Description: TODO(跨境汇款表)
 * @author huangcheng
 * @date 2016年7月1日 下午4:14:55
 */
@Entity
@Table(name = "CB_REMIT_MONEY_RECORDS")
public class CbRemitMoneyRecords extends BaseEntity {

    private static final long serialVersionUID = -8367395892140085390L;

    /**
     * 主订单ID
     */
    private String gopayOrderId;

    /**
     * 汇款种类  01723--留学汇款 01724-跨境汇款
     */
    private String remitType;

    /**
     * 客户ID
     */
    private String custId;

    /**
     * 客户类型 1-个人 2-企业
     */
    private String custType;

    /**
     * 汇款金额
     */
    private BigDecimal remitAmt;

    /**
     * 汇款币种
     */
    private String remitCurency;

    /**
     * 汇款用途
     */
    private String remitPurpose;

    /**
     * 收款人ID
     */
    private Long receiverId;

    /**
     * 汇款留言
     */
    private String message;

    /**
     * 申请时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 线下付款付款银行名称
     */
    private String payBankName;
    /**
     * 线下付款付款银行订单号
     */
    private String payBankOrderId;


    public CbRemitMoneyRecords() {
    }

    public CbRemitMoneyRecords(String gopayOrderId) {
        setGopayOrderId(gopayOrderId);
    }

    public CbRemitMoneyRecords(String gopayOrderId, String remitType, String custId, String custType,
            BigDecimal remitAmt, String remitCurency, String remitPurpose, Long receiverId, String message,
            Date createTime, Date updateTime) {
        setGopayOrderId(gopayOrderId);
        setRemitType(remitType);
        setCustId(custId);
        setCustType(custType);
        setRemitAmt(remitAmt);
        setRemitCurency(remitCurency);
        setRemitPurpose(remitPurpose);
        setReceiverId(receiverId);
        setMessage(message);
        setCreateTime(createTime);
        setUpdateTime(updateTime);
    }

    @Id

    @Column(name = "GOPAY_ORDER_ID", unique = true, nullable = false, length = 30)
    public String getGopayOrderId() {
        return this.gopayOrderId;
    }

    public void setGopayOrderId(String gopayOrderId) {
        this.gopayOrderId = gopayOrderId;
    }

    @Column(name = "REMIT_TYPE", length = 5)
    public String getRemitType() {
        return this.remitType;
    }

    public void setRemitType(String remitType) {
        this.remitType = remitType;
    }

    @Column(name = "CUST_ID", length = 30)
    public String getCustId() {
        return this.custId;
    }

    public void setCustId(String custId) {
        this.custId = custId;
    }

    @Column(name = "CUST_TYPE", length = 3)
    public String getCustType() {
        return this.custType;
    }

    public void setCustType(String custType) {
        this.custType = custType;
    }

    @Column(name = "REMIT_AMT", precision = 20)
    public BigDecimal getRemitAmt() {
        return this.remitAmt;
    }

    public void setRemitAmt(BigDecimal remitAmt) {
        this.remitAmt = remitAmt;
    }

    @Column(name = "REMIT_CURENCY", length = 8)
    public String getRemitCurency() {
        return this.remitCurency;
    }

    public void setRemitCurency(String remitCurency) {
        this.remitCurency = remitCurency;
    }

    @Column(name = "REMIT_PURPOSE", length = 6)
    public String getRemitPurpose() {
        return this.remitPurpose;
    }

    public void setRemitPurpose(String remitPurpose) {
        this.remitPurpose = remitPurpose;
    }

    @Column(name = "RECEIVER_ID", precision = 22, scale = 0)
    public Long getReceiverId() {
        return this.receiverId;
    }

    public void setReceiverId(Long receiverId) {
        this.receiverId = receiverId;
    }

    @Column(name = "MESSAGE", length = 300)
    public String getMessage() {
        return this.message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    @Column(name = "CREATE_TIME")
    public Date getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Column(name = "UPDATE_TIME")
    public Date getUpdateTime() {
        return this.updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Column(name = "PAY_BANK_NAME")
	public String getPayBankName() {
		return payBankName;
	}

	public void setPayBankName(String payBankName) {
		this.payBankName = payBankName;
	}

	@Column(name = "PAY_BANK_ORDER_ID")
	public String getPayBankOrderId() {
		return payBankOrderId;
	}

	public void setPayBankOrderId(String payBankOrderId) {
		this.payBankOrderId = payBankOrderId;
	}

}
